//写在前面的话: 由于这些个项目都是同一个域名，注意加特殊标识符
//wst_xiruixy_event
//wst_xiruixy_userInfo
//wst_xiruixy_openId
//wst_xiruixy_wxConfing
//wst_xiruixy_time


import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/store'
import axios from 'axios';
//分享地址图片
import shareImg from './assets/wx_share.png'
import shareImgLogo from './assets/shareLogo.png'
config.shareImg = 'http://xiruixy.sirrahhk.com/public/dist/' + shareImg
config.shareImgLogo = 'http://xiruixy.sirrahhk.com/public/dist/' + shareImgLogo
//import ElementUI from 'element-ui';
//import 'element-ui/lib/theme-chalk/index.css';
//Vue.use(ElementUI);

var ua = navigator.userAgent;

//YD的各种弹窗
import {Layout} from 'vue-ydui/dist/lib.rem/layout';
import { Confirm, Alert, Toast, Notify, Loading } from 'vue-ydui/dist/lib.rem/dialog';
Vue.prototype.$dialog = {
    confirm: Confirm,
    alert: Alert,
    toast: Toast,
    notify: Notify,
    loading: Loading,
};
Vue.component(Layout.name, Layout)

//公共暂无内容
import NoList from './components/NoList/NoList.vue'
Vue.component(NoList.name, NoList)
//重置YDui样式
import 'vue-ydui/dist/ydui.base.css';
import {ActionSheet} from 'vue-ydui/dist/lib.rem/actionsheet';
Vue.component(ActionSheet.name, ActionSheet);

//引入input和textarea弹回的js
import './plugins/rebound.js'

import mixin from './mixin/mixin.js'
import './scss/common.scss'
//import './plugins/element.js'

//设置为 false 以阻止 vue 在启动时生成生产提示。
Vue.config.productionTip = false

//修改四舍五入的方法
Number.prototype.toFixed = function(s){
    return (Math.round(this * Math.pow( 10, s ) )/ Math.pow( 10, s )).toString();
}
console.log('main')
router.beforeEach((route, from, next) => {
	console.log(route)
	//判断是否登录
	//if(sessionStorage.getItem('wst_xiruixy_userInfo')&&sessionStorage.getItem('wst_xiruixy_userInfo')!='{}'){
		//登录成功写微信的分享
		//1.判断是否已经使用微信配置，存入session，如果不存在就配置一次，存在即不配置
		
	//}else{
		
		if(ua.match(/MicroMessenger/i) == 'MicroMessenger'||(!config.dev)){
			let params=''
			//登录不记录
			if(window.location.href.indexOf('?') >= 0 && window.location.search){
				params = window.location.href.split('?')[1].split('#/')[0]
				var stateParams= ''
				if(params){
					stateParams = ''
				}
			}
			let url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='+config.appId+'&redirect_uri='+config.shareUrl+'?'+params+'&response_type=code&scope=snsapi_base&state='+stateParams+'#wechat_redirect'
			console.log(url)
//			if(route.fullPath!='/login'){
//				window.location.href=url
//			}else{
//				if(!config.code){
//					window.location.href=url
//				}
//			}
			//非真的时候重定向
			if(!config.code||ua.match(/MicroMessenger/i) != 'MicroMessenger'){
				window.location.href=url
			}else{
				next();
			}
		}else{
			next();
		}
			
//	}
	//Loading.open();
	
})
//微信分享，data是返回的微信数据，name是路由地址信息（要通过name判断分享什么）
function wxShare(data,name){
	console.log(data)
	wx.config({
		//debug: config.api_url ? false : true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
		appId: data.appId, // 必填，公众号的唯一标识
		timestamp: data.timestamp, // 必填，生成签名的时间戳
		nonceStr: data.nonceStr, // 必填，生成签名的随机串
		signature: data.signature, // 必填，签名
		jsApiList: [
			'checkJsApi',
			'onMenuShareTimeline',
			'onMenuShareAppMessage',
			'onMenuShareQQ',
			'onMenuShareWeibo'
		] // 必填，需要使用的JS接口列表
	});
	if(!(name=='live'||name=='liveRoomDetail')){
		
		wx.ready(function() {
			var obj={
				title:config.shareTitle,
				link:`${config.shareUrl}`,
				imgUrl:config.shareImgLogo,
				success:function(){
					
				},
				cancel:function(){
					
				}
			}
			wx.onMenuShareTimeline(obj)
			obj.desc=config.shareDesc;
			wx.onMenuShareAppMessage(obj)
			wx.onMenuShareQQ(obj)
			wx.onMenuShareQZone(obj)
			// config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
		})
	}
	
}
//这个必须全局 //页面刷新
			window.onbeforeunload = function() {
				if(JSON.stringify(store.state.dataEvent)&&JSON.stringify(store.state.dataEvent)!='{}'){
					store.state.dataEvent.time = (parseInt(((new Date()).getTime())/1000))
					store.state.dataEvent.localStorage = true
					store.state.dataEvent.lastFlg = true
					localStorage.setItem('wst_xiruixy_event',JSON.stringify(store.state.dataEvent))
				}else{
					localStorage.setItem('wst_xiruixy_event','')
				}
			};

router.afterEach((route, from) => {
	//每次页面跳转的时候清空dataEvent
	store.state.dataEvent={}
	//判断是否登录
//	Vue.nextTick(()=>{
//		如果用这种，下面的字符串就不用拆分了url:window.location.href.split('#/')[0],可以写成url:window.location.href
//	})
	
	if(ua.match(/MicroMessenger/i) == 'MicroMessenger'){
		//登录成功写微信的分享
		//1.判断是否已经使用微信配置，存入session，如果不存在就配置一次，存在即不配置
		if(JSON.parse(sessionStorage.getItem('wst_xiruixy_wxConfing'))&&sessionStorage.getItem('wst_xiruixy_wxConfing')!='{}'){
			wxShare(JSON.parse(sessionStorage.getItem('wst_xiruixy_wxConfing')),route.name)
		}else{
			//login的时候为空就不去请求，
			let urlStr=''
			if(config.dev){
				urlStr = config.api_url + 'api/'+ 'wx/signature'
			}else{
				urlStr = config.api_url + 'wx/signature'
			}
			axios({
				method: 'get',
				url: urlStr ,
				headers: { "Content-Type": "application/x-www-form-urlencoded" },
				params: {
//					token:JSON.parse(sessionStorage.getItem('wst_xiruixy_userInfo')).token,
					url:window.location.href.split('#/')[0],
				},
			}).then(response=> {
				var data = response.data.data
				sessionStorage.setItem('wst_xiruixy_wxConfing',JSON.stringify(data))
				console.log('data',data)
				wxShare(data,route.name)
			})
		}
	}
	
	if(document.getElementsByClassName('yd-dialog-white-mask')[0]){
		document.getElementsByClassName('yd-dialog-white-mask')[0].remove()
	}
	
	//事件收集，判断router，然后来看发动
	
	Loading.close();
})

new Vue({
	mixins:[mixin],
  	router,
	store,
  	render: h => h(App)
}).$mount('#app')
